I am trying to establish a proper Drupal development environment by using Aegir-up (Vagrant-based Aegir virtual machine). I will illustrate how I follow the following "Quick start" steps and fail:
Install dependencies, including drush-vagrant and drush-hosts:
C:\Users\Domas>drush dl drush-vagrant drush-hosts
Install location C:\Users\Domas/.drush/drush-vagrant already exists. Do you want to overwr
ite it? (y/n): y
Project drush-vagrant (7.x-2.0-beta6) downloaded to [success]
C:\Users\Domas/.drush/drush-vagrant.
Project drush-vagrant contains 0 modules: .
Install location C:\Users\Domas/.drush/drush-hosts already exists. Do you want to overwrit
e it? (y/n): y
Project drush-hosts (7.x-1.1) downloaded to C:\Users\Domas/.drush/drush-hosts. [success]
Project drush-hosts contains 0 modules: .
I don't know if "contains 0 modules" is significant. I attempt installing aegir-up:
C:\Users\Domas>drush dl aegir-up
Install location C:\Users\Domas/.drush/aegir-up already exists. Do you want to overwrite i
t? (y/n): y
Project aegir-up (7.x-2.0-alpha1) downloaded to C:\Users\Domas/.drush/aegir-up. [success]
Project aegir-up contains 0 modules: .
Lastly, I run vagrant-build to get a vagrant project going (I presume), this is where it fails:
C:\Users\Domas>drush vagrant-build --blueprint=aegir
The name of your project may be used in URLs, and so should only contain lower-case letter
s and numbers.
It may also contain hyphens (-) and dots (.), so long as they do not come at the beginning
or end of the name.
What would you like to call your project?: test
Would you like to generate entries in /etc/hosts for the VMs in your project? (y/n): y
You are about to:
* Create a new project called "test" at "C:\Users\Domas/vagrant/projects/test".
* Add entries for the FQDNs of the VMs to /etc/hosts. (You will be prompted for your sud
o password.)
* Generate Drush aliases for the project and VMs.
* Launch the project VMs immediately.
* Build the project using the "aegir" blueprint from the "aegirup" extension.
Do you want to proceed with initializing the project? (y/n): y
Copied the "aegir" blueprint directory to C:\Users\Domas/vagrant/projects/test. [ok]
'egrep' is not recognized as an internal or external command,
operable program or batch file.
symlink(): Cannot create symlink, error code(1314) vagrant.blueprints.inc:90 [warning]
Errors occurred when running "symlink()" in [error]
"vagrant_default_build_project_setup".
Drush command terminated abnormally due to an unrecoverable error. [error]
At first I thought, that simply Egrep was missing, I downloaded UnxUtils, added it to PATH and checked that Egrep runs from the command prompt, which it did. However, after redoing the aegir-up setup steps I still got the same errors.
I am not particularly familiar with any of these tools. I have VirtualBox, Vagrant, Drush and NFS server, Ruby, gem installed. Running on Win8. I have been searching for an answer the whole day. Could someone please shed some light on this?
Apparently, I needed to run these commands through an elevated shell (as in, right click on Command Prompt -> Run as Administrator). Cannot create symlink, error code(1314) was what I should have concentrated on. The commands ran. Other problems came up, namely – Windows path wasn't getting escaped properly; however, that is off question.
Edit: At the moment of posting this problem Aegir-up was not supported on Windows, simple enough. That's why I was having a multitude of problems trying to run it on them.
Related
So I am having this issue for the past 8-9 hours. I have been trying to resolve it by googling around.
This is what I have tried so far.
1) Totally uninstalled node and npm.
2) Totally uninstalled meteor. Deleted all the local/.meteor data. Searched for meteor in entire C drive and deleted it. Restarted the PC.
3) Reinstalled node, npm and meteor js again. (Did steps 1-3 in safe mode also and tried 3 times.)
4) Ran command and got this error again. "C:\Users\Admin\AppData\Local.meteor\packages\meteor-tool\1.4.4_2\mt-os.window
s.x86_32\dev_bundle\lib\node_modules\q\q.js:70
hasStacks = !!e.stack;
^
RangeError: Maximum call stack size exceeded".
Note: The same code works for me in another system, so apparently code is fine the issue is with meteor and my pc.
Then I found that creating new windows account and installing meteor there can make it work. So I tried to do that as well but no luck.
I need help to resolve this as I don't have any clue what to do next.
Meteor version is: 1.4
Node version is: 6.10.3
NPM version is: 3.10.10
Apologies for late response, just had the same problem and was eventually able to solve it. The problem is that windows doesn't like long file paths. Unfortunately, meteor is full of them so the installer seems to miss those files.
Try this:
Install meteor if its not already.
navigate to C:\Users\%username%\AppData\Local and delete the
.Meteor folder.
Download the installation archive:
https://meteorinstall-4168.kxcdn.com/packages-bootstrap/1.5/meteor-bootstrap-os.windows.x86_32.tar.gz
use 7-zip to extract the .Meteor folder somewhere with a shorter
path; ie: C drive root directory. Make sure you are running 7-Zip as
admin, and extract it using 7-Zips interface. Don't drag and drop as
this will extract to the temp folder first.
Go to your Environment Variables (in Control Panel/Advanced System
Settings), edit Path, and change the .Meteor directory to where you extracted the folder.
Open up CMD, cross your fingers, and enter meteor --version
Hope this helps any desperate souls out there.
When I create a new project and select to create a new Git repository, or when I try to change the version control system in project options I receive a RStudio error stating "Incorrect function" with a big X and no extra information.
The below link has a similar issue, but their solution of changing the path for git.exe has not helped (i have tried all three paths)
https://support.rstudio.com/hc/en-us/community/posts/200632528-Git-Error-Incorrect-Function
Some extra notes:
RStudio allows me to clone repository to set new working directory
Also git works in bash, so i feel this is an RStudio issue.
I encountered the same error. For me it also had to do with using a network path not a local directory for the project location (as for lewis1211).
Workaround: Map the network drive. E.g. Map your //server/share to some drive, say Z: (using map network drive, if you are using windows). If you set your project up under Z: then, it works.
If you have already chosen "git.exe" in RStudio --> Tools --> Global Options --> Git/SVN, then try to open Rstudio shell and type git init. In my case it showed "Permission denied", and after running as administrator the problem has gone.
This is only a partial answer if it fixes your problem: I reproduced this when trying to use a network path for a project location. When using a local directory no error occurs. Could indeed be an RStudio issue.
Run you R studio as Project administration.
This solves my issue.
SOLVED.
I had the same problem. The Git-RStudio-Connection fails but git is working perfectly in the CMD. When running the git init command in CMD it works and creates a .git folder. But running the git init command in the RStudio terminal fails with a message Warning: unable to access 'C:/Users/%username%/.gitconfig': Permission denied ... fatal: unknown error occured while reading the configuration files.
The Version Control Sytem (VCS) or git-Panel does not appear in RStudio and selecting it in the projects options leads to the same message Error: Unzulässige Function (eng. Error: Incorrect function).
A closer look into the .gitconfig file should give you a new solution approach hopefully without having administration rights. Comparing the installation on the integration worksation with a productive workstation shows, that on the Test-Machine an incomplete .gitconfig file is on C:/Users/%username%/.gitconfig and on the Productive-Machine a complete gitconfig file is on Z:/.gitconfig. By the way, Z is a mapped drive which is linking to the company's user-profile settings (see CMD > echo %HOMEDRIVE%).
According to this analysis there should be multiple possible solution approaches:
(1) delete the corrupt .gitconfig and hope the the system is correctly looking into your profiles directory
(2) complete the .gitconfig file that all necessary information are there. The message fatal: unknown error occured while reading the configuration files could actually be a hint, that the first message access... permission denied is false and the problem lies in the incomplete file.
(3) Be aware that there can be a confusion between ".gitconfig" as FILE and ".gitconfig" as FOLDER. Check this with changing directory with cd to folder and cat to show the file content. It will tell you that you cannot display a folder as file-content.
(4) Change the location of the config file with git config --file FullnameToGitconfig. e.g. git config --file %USERPROFILE%/.gitconfig or git config --file %USERPROFILE%/.gitconfig/gitconfig or git config --file %HOMEDRIVE%/.gitconfig etc.
[user]
name = DOE John
email = john.doe#acme.com
[merge]
tool = kdiff3
[mergetool "kdiff3"]
path = C:/Program Files/KDiff3/kdiff3.exe
[diff]
guitool = kdiff3
[difftool "kdiff3"]
path = C:/Program Files/KDiff3/kdiff3.exe
[core]
editor = \"C:/Program Files (x86)/GitExtensions/GitExtensions.exe\" fileeditor
I installed the same version from Official Windows Meteor Support on one computer and the command "meteor" runs normally, now I tried to install in another computer but is giving me the issue that the "meteor command was not found". I tried to add the path to the system variables, but it doesn't seem to work.
Any ideas? Thank you
I have just discovered in Windows (I am using Windows 8.1) that you have to type meteor.bat to invoke meteor. e.g. meteor.bat create myapp
The answers already listed were only half the answer for me.
The following steps, resolved the issue.
Set the SYSTEM Environment Variable to:
C:\Users\%username%\AppData\Local\.meteor
Or if you prefer, change to your username explicitly
C:\Users\rich\AppData\Local\.meteor
Then as per the accepted answer on this question.
Create a file named meteor in the directory where the meteor.bat is. E.g. the path above.
Hint, you can use
touch meteor
Copy these lines into the file and save
#!/bin/sh
cmd //c "$0.bat" "$#"
For others that might come across this issue.
I'm on Windows 10 and installed Meteor 1.4. Was getting meteor command not found when trying to run meteor from command prompt.
I checked my users PATH variables and found this entry:
C:\Users\%username%\AppData\Local\.meteor\
I removed the last backslash, saved the PATH variables, and then opened a new command prompt. The meteor command was now recognized.
My PATH variable entry now looks like this with the last backslash removed:
C:\Users\%username%\AppData\Local\.meteor
Note: You can replace %username% with your actual windows username. The entry should work fine as the system will resolve it to your username.
If path variable is not present in environment variables,
You can execute the command only from the directory where meteor is present. i.e., "C:\Users\username\AppData\Local.meteor\" directory.
To use the meteor from any directory inside the command prompt,
Add path variable to the environment settings.
"C:\Users\username\AppData\Local.meteor\meteor.bat".
Restart command prompt if already open.
This will enable meteor command to work everywhere.
The question is old but it might help others who face similar issue.
I just installed meteor and had the same issue. It looks like it installed successfully and added C:\Users\USERNAME\AppData\Local.meteor to the User variable (not system variable).
I am using Windows 10 and I might have to re-login or reboot for that to start working properly.
So, to use without re-login or reboot, use complete path in the directory where you want to create the project:
C:\Projects> C:\Users\USERNAME\AppData\Local.meteor\meteor my_project
Hope it helps.
Using the Node Command prompt instead of Terminal worked for me. Search for Node Command Prompt in the Start Menu.
On Linux,
If the problem comes from systemd service (systemclt) configuration, the PATH is not recognized properly, then:
Here is the error log:
Feb 3 00:13:43 localhost metassa-org[65870]: > meteor run --port=9999
Feb 3 00:13:43 localhost metassa-org[65881]: sh: 1: meteor: not found
Feb 3 00:13:43 localhost metassa-org[65870]: npm ERR! code 127
Feb 3 00:13:43 localhost metassa-org[65870]: npm ERR! path /var/www/domain.org/meteor/simple-todos-react
Feb 3 00:13:43 localhost metassa-org[65870]: npm ERR! command failed
Edit your service configuration file:
Environment="PATH=/home/ubuntu/.npm-global/bin:/home/ubuntu/.meteor:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:$PATH"
Replace /home/ubuntu with your user folder containing meteor install.
You may replace all with your current $PATH value instead.
ExecStart=/usr/bin/npm run start --prefix /var/www/meteor/simple-todos-react
Modify /var/www/meteor/simple-todos-react with your meteor project
Finally, restart your service.
sudo systemctl daemon-reload
I wrote a .spec file on RHEL and I am building RPM using rpmbuild. I need ideas on how to handle the situation below.
My RPM creates an empty logs directory when it installs first time within the installation folder like below
/opt/MyInstallation-1.0.0-1/some executables
/opt/MyInstallation-1.0.0-1/lib/carries shared objects(.so files)
/opt/MyInstallation-1.0.0-1/config/carries some XML and custom configuration files(.xml, etc)
/opt/MyInstallation-1.0.0-1/log--->This is where application writes logs
When my RPM upgrades MyInstallation-1.0.0-1, to MyInstallation-1.0.0-2 for example, I get everything right as I wanted.
But, my question is how to preserve log files written in MyInstallation-1.0.0-1? Or to precisely copy the log directory to MyInstallation-1.0.0-2.
I believe if you tag the directory as %config, it is expected that the user will have files in there, so it will leave it alone.
I found a solution or workaround to this by hit and trial method :)
I am using rpmbuild version 4.8.0 on RHEL 6.3 x86_64. I believe it will work on other distros as well.
If you install with one name only like "MyInstallation" rather than "MyInstallation-version number-RPM Build Number" and create "logs directory as a standard directory(no additional flags on it)[See Original Question for scenario] Whenever you upgrade, you normally don't touch logs directory. RPM will leave its contents as it is. All you have to do is to ensure that you keep the line below in the install section.
%install
install --directory $RPM_BUILD_ROOT%{_prefix}/%{name}/log
Here, prefix and name are macros. That has to do nothing with underlying concept.
Regarding config files, the following is a very precise table that will help you guarding your config files. Again, this rule can't be applied on logs our applications create.
http://www-uxsup.csx.cam.ac.uk/~jw35/docs/rpm_config.html
Thanks & Regards.
I have source code of a compiler which I am building like this:
/path/to/srcdir/configure --prefix=/path/to/installdir
make
make install
I want to distribute the resulting 'installdir' to other machines, with the intent that anybody could use the compiler binaries without going through the 3-stage build process (I am just including the installdir in my distribution tarball).
For testing, I am copying the installdir to another machine under a different user, and then just trying to compile a test program using the binaries I just copied over, like this:
installdir/bin/ucc -mp -o test load_bl.c
Then, I get an error as follows:
cc1: error: /home/sghosh/normalbuild/installdir/open64-gcc-4.2.0/include: Permission denied
cc1: error: /home/sghosh/normalbuild/installdir/open64-gcc-4.2.0/lib/gcc/x86_64-redhat-linux/4.2.0/include: Permission denied
cc1: error: /home/sghosh/normalbuild/installdir/open64-gcc-4.2.0/x86_64-redhat-linux/include: Permission denied
The /home/sghosh/normalbuild/install is what is specified as --prefix during configure on my build machine. The installdir/bin/ucc binary require some files in the open64-gcc-4.2.0 dir under installdir, but since that is the path mentioned in --prefix, so it's still looking for it there, and I want it to look into the same dir in the current machine. FYI, I do not have sudo/root privileges.
How do I come up with a binary distribution that would work in any machine (build once, use anywhere sorts), and not look into the initial --prefix path in this case?
I have had a similar question in superuser, but since lots of edit happened and I got no response to the new question, so I am writing it here.
Check this tool: https://github.com/pgbovine/CDE
CDE is a tool that automatically packages up the Code, Data, and Environment involved in running any set of Linux commands so that they can execute identically on another computer without any installation or configuration.